Memory access interface for a micro-controller system with address/data multiplexing bus

ABSTRACT

A memory access interface for connecting a memory to a micro-controller having an address/data multiplexing bus and a microprocessor is proposed. The memory access interface includes an address latch, a multiplexer, and a data buffer. The address latch latches and outputs the lower-bit address signal on the address/data multiplexing bus of the micro-controller when an address-latch-enable signal is enabled. The multiplexer receives the lower-bit address signal latched by the address latch, a higher-bit address signal outputted from the micro-controller, and an address signal outputted from the microprocessor and selectively outputs the address signal of the micro-controller or the address signal of the microprocessor as the address signal of the memory according to a first control signal. The data buffer transmits the signal of the data bus of the memory to the address/data multiplexing bus of the micro-controller during a data cycle of the micro-controller, and maintains a high impedance state during an address cycle of the micro-controller.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The invention relates generally to a memory access interface, and more specifically to a memory access interface in which a memory is shared between a micro-controller having an address/data multiplexing bus and a microprocessor.

[0003] 2. Description of the Related Art

[0004] In order to reduce the number of I/O pins in some micro-controllers, such as micro-controllers of the 80C32 series, a set of output pins are shared between a data bus and a lower-bit address bus. FIG. 1 shows a typical memory system having a micro-controller and the address/data multiplexing bus. Referring to FIG. 1, the micro-controller 11 utilizes an address latch 12 to latch the lower-bit address signal A7:0 of the address/data multiplexing bus A7:0/D7:0 when the address-latch-enable signal ALE is enabled. The address signal A7:0 together with the higher-bit address signal A15:8 are inputted to the address bus of the memory 13. The reading signal /READ of the micro-controller 11 is transferred to the output-enabling control terminal OE of the memory 13 so as to enable or disable the output of the memory 13. When the reading signal /READ is enabled, the output from the memory 13 is also enabled, and the data corresponding to the address signal A15:0 is transferred to the databus D7:0. The micro-controller 11 accesses the data of the data bus D7:0 of the memory through the address/data multiplexing bus A7:0/D7:0.

[0005]FIG. 2 shows a typical timing diagram during the accessing cycle of the micro-controller 11. As shown in FIG. 2, the accessing cycle of the micro-controller 11 is divided into an address phase and a data phase. The address-latch-enable signal ALE is enabled in the address phase, while the reading signal /READ is enabled in the data phase.

[0006] Because the memory in the memory system can only be accessed by a single micro-controller, the efficiency of the memory is poor. Therefore, the efficiency of the memory can be improved if two or more microprocessors are capable of sharing the memory.

SUMMARY OF THE INVENTION

[0007] In view of the above-mentioned problems, an object of the invention is to provide a memory access interface capable of sharing a memory between a micro-controller having an address/data multiplexing bus and one or more microprocessors.

[0008] To achieve the above-mentioned object, the memory access interface of the invention includes an address latch, a multiplexer, and a data buffer. The address latch receives a signal of the address/data multiplexing bus of the micro-controller and an address-latch-enable signal, and latches the signal of the address/data multiplexing bus and outputs the lower-bit address signal when the address-latch-enable signal is enabled. The multiplexer receives the lower-bit address signal outputted from the address latch, a higher-bit address signal outputted from the micro-controller, and an address signal outputted from a microprocessor. The multiplexer is controlled by a first control signal of the micro-controller so as to provide the address signal of the micro-controller or the address signal of the microprocessor to the memory. The data buffer receives the signal of the data bus of the memory and is controlled by a second control signal of the micro-controller, for outputting the signal of the data bus to the address/data multiplexing bus of the micro-controller during a data phase of the micro-controller, and for keeping the output of the data buffer at a high impedance state during an address phase of the micro-controller.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009]FIG. 1 shows a memory system having a micro-controller and the address/data multiplexing bus.

[0010]FIG. 2 shows a timing diagram during the accessing cycle of the micro-controller of FIG. 1.

[0011]FIG. 3 shows a control system utilizing the memory access interface of the present invention.

[0012]FIG. 4 shows a timing diagram during the accessing cycle of the control system of FIG. 3.

DETAILED DESCRIPTION OF THE INVENTION

[0013] The memory access interface of the invention will be further described with reference to the accompanying drawings.

[0014]FIG. 3 shows a control system using a memory access interface of the present invention. The control system includes a micro-controller unit 21, a microprocessor unit 22, a memory unit 23, and an access interface 20. The micro-controller unit 21 and the microprocessor unit 22 can access the data of the memory unit 23 through the access interface 20 during various stages, thereby achieving the object of sharing the memory unit 23.

[0015] The access interface 20 includes an address latch 201, a data buffer 202, and an address multiplexer 203. The access interface 20 receives the address/data multiplexing bus signal uC_A7:0/D7:0, the higher-bit address signal uC_A15:8, the address-latch-enable signal ALE and the reading signal /READ from the micro-controller unit 21. Also, the access interface 20 receives the address signal uP_A15:0 and data signal uP_D7:0 from the microprocessor unit 22.

[0016] The access interface 20 utilizes the address latch 201 to latch the lower-bit address signal uC_A7:0 of the address/data multiplexing bus signal uC_A7:0/D7:0 of the micro-controller unit 21 and to output a lower-bit address signal uC_A7:0 when the address-latch-enable signal ALE of the micro-controller unit 21 is enabled. The higher-bit address signal uC_A15:8 of the micro-controller unit 21 is merged with the lower-bit address signal uC_A7:0 outputted from the address latch 201 to generate an address signal uC_A15:0 of the micro-controller unit 21.

[0017] The address multiplexer 203 of the access interface 20 receives the address signal uC_A15:0 of the micro-controller unit 21 and the address signal uP_A15:0 of the microprocessor unit 22, and selectively outputs either the address signal uC_A15:0 or the address signal uP_A15:0 according to the reading signal /READ of the micro-controller unit 21. That is, when the reading signal /READ is disabled, the address multiplexer 203 outputs the address signal uP_A15:0 of the microprocessor unit 22. On the other hand, when the reading signal /READ is enabled, the address multiplexer 203 outputs the address signal uC_A15:0 of the micro-controller unit 21.

[0018] The data buffer 202 receives the data D7:0 of the data bus from the memory unit 23 and outputs the data D7:0 to the address/data multiplexing bus A7:0/D7:0 of the micro-controller unit 21 when the reading signal /READ is enabled. In addition, the data buffer 202 keeps the output at a high impedance state when the reading signal /READ is disabled. It should be noted that, in addition to using the reading signal /READ to control the data buffer 202 and the address latch 201, the inverted address-latch-enable signal ALE may also be used as the control signal.

[0019]FIG. 4 shows a timing diagram in which the reading signal /READ serves as the control signal of the data buffer 202 and the address latch 201. As shown in the drawing, each accessing cycle is divided into an address phase and a data phase with respect to the micro-controller unit 21. At the address phase, the micro-controller unit 21 outputs the lower-bit address signal uC_A7:0. At this time, since the reading signal /READ is disabled, the address multiplexer 203 outputs the address signal uP_A15:0 of the microprocessor unit 22. Consequently, the microprocessor unit 22 may access the data of the memory unit 23 during the address phase. At the data phase, since the reading signal /READ is enabled, the data buffer 202 outputs the data D7:0 of the memory unit to the address/data multiplexing bus signal uC_A7:0/D7:0 of the micro-controller unit 21, and the address multiplexer 203 outputs the address signal uC_A15:0 of the micro-controller unit 21. Consequently, the micro-controller unit 21 may access the data of the memory unit 23 during the data phase.

[0020] While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art. For instance, the output enable pins of the memory unit are grounded in the embodiment, so the memory unit is always enabled. However, the memory unit does not need to be always enabled. It is only required that the memory unit is enabled when the memory unit is about to be accessed by the micro-controller unit or the microprocessor unit. So the output enable pins can also be controlled by the reading signal of the micro-controller unit, or by other control signals of the micro-controller unit, or by other control signals of the microprocessor unit. 

What is claimed is:
 1. A memory access interface for connecting a memory to a micro-controller and a first circuitry, the micro-controller being capable of transmitting a first group address signals and a second group address signals, the micro-controller being capable of transmitting the first group address signals or accessing data signals via an address/data bus, the memory access interface comprising: an address holder for receiving the first group address signals on the address/data multiplexing bus and a first enable signal outputted from the micro-controller, and outputting the first group address signals when the first enable signal is enabled; and a multiplexer for receiving the first group address signals outputted from the address holder, the second group address signals outputted from the micro-controller, and third address signals outputted from the first circuitry, the multiplexer being controlled by a first control signal of the micro-controller for selectively outputting the first and second group address signals or outputting the third address signals to the memory; wherein the micro-controller can access the data of the memory during a data cycle of the micro-controller and the first circuitry can access the data of the memory during an address cycle of the micro-controller.
 2. The memory access interface according to claim 1, further comprising a data buffer for transmitting the data signals from the memory to the address/data bus of the micro-controller during the data cycle of the micro-controller, and for maintaining a high impedance state during the address cycle of the micro-controller, the data buffer being controlled by a second control signal of the micro-controller.
 3. A memory access method for controlling the access among a memory, a micro-controller and a first device, the memory access method comprising the steps of: the micro-controller outputting a first address signal during an address cycle; latching the first address signal as a latched address signal; the first device outputting a second address signal to the memory and reading/writing data from/to the memory during the address cycle; and outputting the latched address signal to the memory during a data cycle; and reading/writing data from/to the memory during the data cycle.
 4. The memory access method according to claim 3, wherein the micro-controller further outputs a third address signal to the memory during the data cycle. 